package com.company.example.core.common;

import java.util.List;

import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;

/**
 * @package   com.company.example.core.common
 * @file BaseDao.java
 * @author   yanwl
 * @date 2016年9月29日
 * @version V 1.0
 */
public interface BaseDao {
	<T> T findById(Class<T> entityClass, String id);
	<T> List<T> findAll(Class<T> entityClass);
	<T> List<T> find(Query query, Class<T> entityClass);
	void delete(Object object);
	void insert(Object object);
	<T> void update(Query query,Update update, Class<T> entityClass);
	void saveOrUpdate(Object object);
	void batchSave(List<Object> list);
	<T> long count(Query query, Class<T> entityClass);
}
